<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 循环比较法
        function fun(arr) {
            // 遍历每个元素
            for (let i = 0; i < arr.length; i++) {
                // 遍历每个元素与全部元素比较
                for (let j = i + 1; j < arr.length; j++) {
                    if (arr[i] === arr[j]) {
                        arr.splice(j, 1);
                        // 删除成功，退回来查看是否当前位置有重复值
                        j--
                    }
                }
            }
            return arr;
        }
        // console.log(fun([1, 21, 21, 21, 1, 12, 12]))


        // 准备空数组 判断新数组法
        function unique(arr) {
            let arr2 = [];
            for (let i = 0; i < arr.length; i++) {
                if (arr2.indexOf(arr[i]) === -1) {
                    arr2.push(arr[i])
                }
            }
            return arr2;
        }
        // console.log(unique([1, 1, 2, 3, 4, 5, 6, 6, 6, 6, 64]))

        // es6新增的 Set()的集合
        function unique2(arr) {
            let n = new Set(arr);  //使用数组创建集合，自动去除重复的元素，返回集合
            // 使用集合创建数组
            return Array.from(n);
        }
        console.log(unique2([1, 2, 1, 2, 2, 2, 2, 22, 2, 222, 2121, 21]));
    </script>
</body>

</html>